package com.itheima.array;

public class ReverseArray {
    /*
    需求:实现数组的数据反转
     */
    public static void main(String[] args) {
        int[] arr = {11,22,55,44,33};

        int start01 = 0; //设置指针start指向数组的0索引位置
        int end01 = arr.length-1; //设置指针end指向数组的最后一个位置
        while(start01 < end01){
            //用位异或实现数组数据的反转
            arr[start01] = arr[start01] ^ arr[end01];
            arr[end01] = arr[start01] ^ arr[end01];
            arr[start01] = arr[start01] ^ arr[end01];

            start01++;
            end01--;
        }
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }

        System.out.println();//换行

        //把数组的数据再转回来
        for(int start02= 0,end02 = arr.length-1;start02 < end02;start02++,end02--){
            arr[start02] = arr[start02] ^ arr[end02];
            arr[end02] = arr[start02] ^ arr[end02];
            arr[start02] = arr[start02] ^ arr[end02];
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
